home *** CD-ROM | disk | FTP | other *** search
Makefile | 1993-01-23 | 5.4 KB | 180 lines |
- #############################################################################
- # Makefile: Makefile for OberSuite.
- # A part of OberSuite for the Commodore Amiga.
- #
- # Author: Daniel Barrett, barrett@cs.umass.edu.
- # Version: 1.0.
- # Copyright: None! This program is in the Public Domain.
- # Please share it with others.
- #############################################################################
-
-
- LIBS = -lc
- COMP_INC = headers.comp
- LIBS = -lc
- OPTIMIZE = -so
- DEBUGGING = # -bs
- CFLAGS = $(OPTIMIZE) -hi $(COMP_INC) $(DEBUGGING)
- LDEBUGGING = # -g
- LFLAGS = $(LDEBUGGING) +Q
-
- DESTDIR = usr:mybin
-
- ##############################################################################
- # Files used for all programs.
- ##############################################################################
-
- HEADERS = oberheim.h midi.h bits.h patchinfo.h
- MAINHEADER = decl.h
- OBJ = parse.o usage.o patchinfo.o getopt.o amigados.o
-
- ##############################################################################
- # Files used for individual programs.
- ##############################################################################
-
- GETPROG = ObGet
- GETOBJ = $(OBJ) obget.o tofile.o frommidi.o serial.o
-
- PUTPROG = ObPut
- PUTOBJ = $(OBJ) obput.o fromfile.o tomidi.o serial.o
-
- PTPROG = ObType
- PTOBJ = $(OBJ) obtype.o fromfile.o
-
- EXPROG = ObExtract
- EXOBJ = $(OBJ) obextract.o fromfile.o tofile.o tomidi.o serial.o \
- bits.o ranges.o
-
- IPROG = ObInfo
- IOBJ = obinfo.o
-
- ALLPROGS = $(GETPROG) $(PUTPROG) $(PTPROG) $(EXPROG)
-
- ##############################################################################
- # All program targets.
- ##############################################################################
-
- all: $(ALLPROGS)
-
- ##############################################################################
- # Equivalent names for convenience.
- ##############################################################################
-
- obget: $(GETPROG)
- obput: $(PUTPROG)
- obtype: $(PTPROG)
- obextract: $(EXPROG)
- obinfo: $(IPROG) # Not included.
-
- ##############################################################################
- # Compiled headers.
- ##############################################################################
-
- $(COMP_INC): $(MAINHEADER)
- cc $(OPTIMIZE) $(DEBUGGING) -ho $(COMP_INC) $(MAINHEADER)
-
- $(MAINHEADER): $(HEADERS)
-
- ##############################################################################
- # Non-main-program object dependencies.
- ##############################################################################
-
- amigados.o: $(MAINHEADER) amigados.c
- bits.o: bits.c bits.h
- files.o: $(MAINHEADER) files.c
- fromfile.o: $(MAINHEADER) fromfile.c
- frommidi.o: $(MAINHEADER) frommidi.c
- getopt.o: getopt.c
- parse.o: $(MAINHEADER) parse.c
- patchinfo.o: $(MAINHEADER) patchinfo.c
- ranges.o: ranges.c bits.h
- serial.o: $(MAINHEADER) serial.c
- tofile.o: $(MAINHEADER) tofile.c
- tomidi.o: $(MAINHEADER) tomidi.c
- usage.o: $(MAINHEADER) usage.c
-
- ##############################################################################
- # The "get" program.
- ##############################################################################
-
- $(GETPROG): $(COMP_INC) $(GETOBJ)
- ln $(LFLAGS) $(GETOBJ) -o $(GETPROG) $(LIBS)
-
- obget.o: obget.c obget.h $(MAINHEADER)
-
- ##############################################################################
- # The "put" program
- ##############################################################################
-
- $(PUTPROG): $(COMP_INC) $(PUTOBJ)
- ln $(LFLAGS) $(PUTOBJ) -o $(PUTPROG) $(LIBS)
-
- obput.o: obput.c obput.h $(MAINHEADER)
-
- ##############################################################################
- # The "type" program
- ##############################################################################
-
- $(PTPROG): $(COMP_INC) $(PTOBJ)
- ln $(LFLAGS) $(PTOBJ) -o $(PTPROG) $(LIBS)
-
- obtype.o: obtype.c obtype.h $(MAINHEADER)
-
- ##############################################################################
- # The "extract" program
- ##############################################################################
-
- $(EXPROG): $(COMP_INC) $(EXOBJ)
- ln $(LFLAGS) $(EXOBJ) -o $(EXPROG) $(LIBS)
-
- obextract.o: obextract.c obextract.h $(MAINHEADER)
-
- ##############################################################################
- # The "info" program
- ##############################################################################
-
- $(IPROG): $(COMP_INC) $(IOBJ)
- ln $(LFLAGS) $(IOBJ) -o $(IPROG) $(LIBS)
-
- obinfo.o: obinfo.c obinfo.h $(MAINHEADER)
-
- ##############################################################################
- # Installation
- ##############################################################################
-
- install: $(ALLPROGS)
- copy $(GETPROG) $(DESTDIR)/$(GETPROG)
- copy $(PUTPROG) $(DESTDIR)/$(PUTPROG)
- copy $(PTPROG) $(DESTDIR)/$(PTPROG)
- copy $(EXPROG) $(DESTDIR)/$(EXPROG)
-
- ##############################################################################
- # Clean up
- ##############################################################################
-
- clean:
- delete \#?.o
-
- veryclean: clean
- delete $(COMP_INC) $(ALLPROGS) \#?.dbg
-
- backup:
- copy \#?.c df1:
- copy \#?.h df1:
- copy Makefile df1:
- copy TODO df1:
- copy README df1:
- copy EXAMPLES df1:
- copy \#?.DOC df1:
-
- ##############################################################################
- # ranges test program
- ##############################################################################
-
- ranges: $(COMP_INC) bits.o parse.o
- cc $(CFLAGS) -DTEST_RANGE_PROGRAM ranges.c
- ln +Q ranges.o bits.o parse.o -o ranges -lc
-
- ranges.o: ranges.c bits.h oberheim.h $(MAINHEADER)
- bits.o: bits.c bits.h
-